+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
+Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
+
+ * tests/testselection.c (main): Convert over to using
+ an GtkInvisible - selections don't work properly
+ with now NO_WINDOW GtkToggleButton. (Example really
+ should be using GtkClipboard.)
+
+ * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
+ Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
+
+ * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
+ actual_length when converting atoms as well.
+ (Gregory Merchan, #72074)
+
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
for (i = 0; i < ret_nitems; i++)
ret_atoms[i] = gdk_x11_xatom_to_atom (xatoms[i]);
+
+ if (actual_length)
+ *actual_length = ret_nitems * sizeof (GdkAtom);
}
else
{
if (prop_type != None)
{
- *data = g_new (guchar, length);
-
if (prop_type == XA_ATOM || prop_type == gdk_x11_get_xatom_by_name ("ATOM_PAIR"))
{
Atom* atoms = (Atom*) t;
- GdkAtom* atoms_dest = (GdkAtom*) *data;
+ GdkAtom* atoms_dest;
gint num_atom, i;
+
+ num_atom = (length - 1) / sizeof (Atom);
+ length = sizeof (GdkAtom) * num_atom + 1;
+ *data = g_malloc (length);
+ (*data)[length - 1] = '\0';
+ atoms_dest = (GdkAtom *)(*data);
- num_atom = (length - 1) / sizeof (GdkAtom);
for (i=0; i < num_atom; i++)
atoms_dest[i] = gdk_x11_xatom_to_atom (atoms[i]);
}
else
{
- memcpy (*data, t, length);
+ *data = g_memdup (t, length);
}
if (t)
static int have_selection = FALSE;
+GtkWidget *selection_widget;
GtkWidget *selection_text;
GtkWidget *selection_button;
GString *selection_string = NULL;
return;
}
- gtk_selection_convert (selection_button, GDK_SELECTION_PRIMARY, atom,
+ gtk_selection_convert (selection_widget, GDK_SELECTION_PRIMARY, atom,
GDK_CURRENT_TIME);
}
init_atoms();
+ selection_widget = gtk_invisible_new ();
+
dialog = gtk_dialog_new ();
gtk_widget_set_name (dialog, "Test Input");
gtk_container_set_border_width (GTK_CONTAINER(dialog), 0);
gtk_signal_connect (GTK_OBJECT(selection_button), "toggled",
GTK_SIGNAL_FUNC (selection_toggled), NULL);
- gtk_signal_connect (GTK_OBJECT(selection_button), "selection_clear_event",
+ gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_clear_event",
GTK_SIGNAL_FUNC (selection_clear), NULL);
- gtk_signal_connect (GTK_OBJECT(selection_button), "selection_received",
+ gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_received",
GTK_SIGNAL_FUNC (selection_received), NULL);
- gtk_selection_add_targets (selection_button, GDK_SELECTION_PRIMARY,
+ gtk_selection_add_targets (selection_widget, GDK_SELECTION_PRIMARY,
targetlist, ntargets);
- gtk_signal_connect (GTK_OBJECT(selection_button), "selection_get",
+ gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_get",
GTK_SIGNAL_FUNC (selection_get), NULL);
selection_text = gtk_text_new (NULL, NULL);